/*
 * GamePlay.h
 *
 *  Created on: Jan 5, 2009
 *      Author: Carmine Red
 */

#ifndef GAMEPLAY_H_
#define GAMEPLAY_H_

#include "GameState.h"
#include "GameWorld.h"

class GamePlay: public GameState {

private:
	GamePlay();
	static GamePlay* inst;

	// the GameWorld
	GameWorld world;

public:

	static GamePlay* Instance();

	//functions to handle initialization and clean up
	void Init();
	void CleanUp();

	//functions to handle pausing and resuming a state
	void Pause();
	void Resume();

	/*functions to handle main processes of states
	 * They will take a pointer to the main game
	 * so that they have easy access to game information
	 */
	void HandleInput(Prismatic* game);
	void Render(Prismatic* game);
	void Update(Prismatic* game);

};

#endif /* GAMEPLAY_H_ */
